The focus in manufacturing industry has shifted from mass production to mass customization. Companies continually have to offer more product variants with greater flexibility. Customizable products (e.g. cars) generally exhibit various variables (e.g. Country a car is to be sold in, Steering Wheel indicates whether the steering wheel is to be mounted on the left-hand or the right-hand side, Fuel Type of a car, etc.), for each of which a user has to select a particular value out of a set of values (e.g. Diesel, Petrol for the variable Fuel Type) in order to configure the product. Usually, there are inter-dependencies among the variables and values of the product to configure. These inter-dependencies are captured by rules (e.g. if Country is Denmark (DK), then Steering Wheel is left, if Country is UK, Steering Wheel has to be set to right).
Product configuration is the computer-implemented process of finding a valid configuration for a configurable product, i.e. finding a combination among the values and variables of the product for which all rules between these variables and values are fulfilled.
Various approaches to implement product configuration methods by using computer technology have been taken in the prior art, such as:    U.S. Pat. No. 7,584,079 B2, which discloses a method of configuring a product composed of several inter-dependent parts. It employs “Virtual Tabulation”, which is a method for keeping track of inter-dependencies among a large number of parts.    Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems; S. Subbarayan; CP-AI-OR Conference, Prague, 2005, Springer LNCS 3524, p. 351-368 [ToBBDs2005], which discloses a decomposition scheme for compiling configuration problems based on Trees-of-Binary Decision Diagrams.    Knowledge Compilation Properties of Tree-of BDDs; S. Subbarayan, L. Bordeaux, Y. Hamadi; AAAI Conference, Vancouver, 2007, p. 502-507[ToBDDs2007], which discloses a conjunction normal form to Tree-of-Binary Decision Diagrams compiler.    Decomposable Negation Normal Form; Adnan Darwiche, Journal of the ACM, Vol. 48, No. 4, July 2001, pp. 608-647 [DNNF2001], which discloses a target compilation language known as decomposable negation normal form (DNNF).